Allocating electronic advertising opportunities

ABSTRACT

A facility for presenting advertising messages on behalf of multiple advertisers is described. The facility determines allocations that each specify a share for an advertiser, the specified shares all being different. The facility causes advertising messages to be presented on behalf of the advertisers in accordance with the shares specified by their allocations.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 62/135,001, filed on Mar. 18, 2015, which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The described technology is directed to the field of electronic advertising, and, more particularly, to the field of advertising message selection.

BACKGROUND

Electronic advertising refers to the presentation of advertising messages promoting a cause—such as a product, service, or service provider—to one or more people via an electronic device. Electronic advertising messages often have a visual component. It is typical for an advertiser to pay for the opportunity to present an advertising message. Those presenting advertising messages to people on behalf of advertisers are called publishers. Often, publishers join advertising messages they are presenting with other content, such as a web page requested by a person.

As one example, the publisher of web pages each containing information about a different home in a particular geographic area may sell the opportunity to include in served copies of these web pages advertising messages on behalf of real estate agents who are active in the geographic area.

A single opportunity to present an advertising message—such as including the advertising message in a copy of a web page served to a single device at a particular time—is called an impression.

In some cases, publishers sell impressions by setting a fixed per-impression price, and allocating impressions uniformly across a set of participating advertisers.

In some cases, publishers sell impressions by conducting an auction in which, for a particular category of impressions, advertisers each bid a price to be able advertise using these impressions. Generally, the advertiser who bids the highest price is able to purchase as many of these impressions as it wishes. To the extent that the highest-bidding advertiser does not consume all of the impressions, the second-highest-bidding advertiser is able to purchase as many of the remaining impressions as it wishes, and so on.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level data flow diagram showing data flow within a typical arrangement of components used to provide the facility.

FIG. 2 is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility operates.

FIG. 3 shows a sample of a webpage containing placements in which the facility presents advertising messages.

FIG. 4 is a flow diagram showing steps typically performed by the facility in some embodiments to specify information relating to advertiser rankings.

FIG. 5 is a table diagram showing sample contents of a rank allocation table in which the facility stores the results of allocating opportunities across advertiser ranks.

FIG. 6 is a flow diagram showing steps typically performed by the facility in some embodiments to conduct an advertising auction and serve advertising messages based on the auction results.

FIG. 7 is a table diagram showing sample contents of a bid table in which the facility collects bids from advertisers in some embodiments.

FIG. 8 is a table diagram showing sample contents of an advertiser scoring table showing advertiser scores attributed to advertisers by the facility.

FIG. 9 is a table diagram showing sample contents of an advertiser allocation table used by the facility in some embodiments to specify the allocation for each advertiser and track the presentation of the advertiser's advertising message.

DETAILED DESCRIPTION

The inventors have recognized that conventional approaches to selling impressions often have significant disadvantages. For example, the fixed-price sale of impressions can disadvantage both publishers and advertisers: publishers can be disadvantaged by setting the price so high as to prevent advertisers from participating, or so low that every impression could have been sold at a higher price. Advertisers can be similarly disadvantaged: where the price is set too high, they can lose any opportunity to participate in consuming the impressions; where set too low, the advertiser's willingness to pay more can do nothing to assist it in capturing a larger share of the impressions.

Conventional auction approaches to selling impressions, while satisfactorily addressing some of the disadvantages of fixed-price approaches, can disadvantage the people to whom advertising messages are presented. For example, a person who views 10 webpages each corresponding to a different home in a particular geographic area, and each time sees an advertising message from the highest-bidding agent, may react negatively to seeing the same advertising message so frequently.

Based on recognizing these disadvantages of conventional approaches to selling impressions, the inventors have conceived and reduced to practice a software and/or hardware facility for allocating electronic advertising opportunities among advertisers (“the facility”).

In some embodiments, the facility performs the process of allocating advertising opportunities as described herein separately for each of two or more “classes” of advertising opportunities. In some embodiments, a class of advertising opportunities corresponds to advertising opportunities each relating to a different geographic area, such as advertising opportunities on webpages each corresponding to a particular home that is in one such geographic area.

In some embodiments, the facility determines for a particular class of advertising opportunities an allocation of advertising opportunities across a number of different advertiser ranks. In some embodiments, the facility determines an allocation in which the advertiser having the top rank receives the largest share of opportunities, and the share of opportunities monotonically decreases as advertiser rank decreases. In some embodiments, part of determining the allocation includes determining the number of advertiser ranks that receive nonzero allocations. For example, the facility may determine that advertiser rank 1 receives an allocation of 30% of impressions, advertiser rank to receives an allocation of 24% of impressions, etc., and that a total of six advertisers will have nonzero allocations.

In some embodiments, the facility receives from each of a number of advertisers a bid that includes information identifying the advertiser, a bid price, and a budget over a period of time. For example, the facility may receive a bid indicating that advertiser Matthews bids a bid price of $7.00 and a one-month budget of $575.

After the facility has received a group of bids, the facility scores each bidder based on such factors as bid price and a quality measure that reflects information known about the advertiser affecting the likelihood that advertising by the advertiser will be successful, for the advertiser, for the publisher, and/or for people using the publisher's web site.

Based on the scores determined by the facility for each advertiser, the facility attributes ranks to the advertisers, such as in decreasing order of their scores. That is, the advertiser having the top score is attributed the first rank; advertiser having that the next-highest scores attributed the second rank; etc. For example, where advertiser Matthews has the second-highest score among advertisers, that advertiser is attributed the second rank.

Once an advertiser rank is attributed to a particular advertiser, the allocation of that advertiser rank becomes the allocation of that advertiser. For example, based upon been attributed second rank, advertiser Matthews receives an allocation of 24% of impressions.

In deciding which advertiser should receive each individual advertising opportunity, the facility performs a weighted random selection among the ranked advertisers based upon the ranked advertisers' allocations. For example, having an allocation of 24% of impressions means that advertiser Matthews has a 24% likelihood of receiving a particular impression.

Also, based upon the attributed ranks, and the bids and quality measures of the ranked advertisers, the facility determines a price charged for each advertiser, which in some embodiments diverges from that advertiser's bid price. For example, advertiser Matthews, despite bidding $7.00, may actually be charged $4.36 for each impression.

In various embodiments, different bidding rounds like the one described above occur at different times: with a regular time-frequency, such as monthly; for a set number of impressions; for a set amount of revenue; etc.

In some embodiments, the facility changes the allocation of advertising opportunities across advertiser ranks over time. In various embodiments, the facility uses a variety of techniques to determine a new allocation of advertising opportunities across advertiser ranks.

By operating in some or all of the foregoing ways, the facility allocates and/or prices advertising in a way that makes it more likely that the needs of stakeholders such as advertisers, publishers, and people to whom publishers publish are met.

FIG. 1 is a high-level data flow diagram showing data flow within a typical arrangement of components used to provide the facility. A number of web client computer systems 110 that are under user control generate and send page view requests 231 to one or more logical web servers 100 via a network such as the Internet 120. In some embodiments, these web client computer systems include portable devices that communicate wirelessly, such as smartphones and tablet computers. The page view requests sent by web client computer systems can include both requests for content pages that can contain advertising messages and requests for pages for submitting advertising bids on behalf of advertisers. Within the web server, these requests may either all be routed to a single web server computer system, or may be loaded-balanced among a number of web server computer systems. The web server typically replies to each with a served page 132. Web servers 100 may include web servers operated by publishers of web pages that present advertising messages, are linked to from advertising messages, or both. Web servers 100 may also include one or more web servers implementing aspects of the facility, such as by permitting advertisers to submit bids, review the status of their bids or corresponding advertising campaigns, etc.

While various embodiments are described in terms of the environment described above, those skilled in the art will appreciate that the facility may be implemented in a variety of other environments including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices connected in various ways. In various embodiments, a variety of computing systems or other different client devices may be used in place of the web client computer systems, such as mobile phones, tablet computer systems, personal digital assistants, televisions, cameras, etc.

FIG. 2 is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility operates. In various embodiments, these computer systems and other devices 200 can include server computer systems, desktop computer systems, laptop computer systems, netbooks, tablet computers, mobile phones, personal digital assistants, televisions, cameras, automobile computers, electronic media players, etc. In various embodiments, the computer systems and devices include zero or more of each of the following: a central processing unit (“CPU”) 201 for executing computer programs; a computer memory 202 for storing programs and data while they are being used, including the facility and associated data, an operating system including a kernel, and device drivers; a persistent storage device 203, such as a hard drive or flash drive for persistently storing programs and data; a computer-readable media drive 204, such as a floppy, CD-ROM, or DVD drive, for reading programs and data stored on a computer-readable medium; and a network connection 205 for connecting the computer system to other computer systems to send and/or receive data, such as via the Internet or another network and its networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like. While computer systems configured as described above are typically used to support the operation of the facility, those skilled in the art will appreciate that the facility may be implemented using devices of various types and configurations, and having various components.

FIG. 3 shows a sample of a webpage containing placements in which the facility presents advertising messages. The page 300 includes information 310 about a particular home. The address of the home, and/or other information about the home, identifies the home as being located in a particular geographic area. In various embodiments, the facility uses various kinds and sizes of geographic areas as a basis for bidding by advertisers, including but not limited to: blocks, neighborhoods, zip codes, parishes, wards, voting districts, school districts, sanitation districts, counties, states, provinces, countries, continents, etc. The page further contains three placements 321-323 in which the facility can present advertising messages corresponding to bids received. Those skilled in the art will appreciate that a publisher webpage may have any number of such placements.

In various embodiments, the advertising messages populated into these placements can have a variety of behaviors. For example, they can contain text images, video sequences, background colors, etc. They or parts of them can be selected by the user in order to display more information about the advertiser, contact the advertiser, express approval or disapproval for the advertiser, or take other actions with respect to the advertiser.

FIG. 4 is a flow diagram showing steps typically performed by the facility in some embodiments to specify information relating to advertiser rankings. In step 401, the facility allocates shares of the advertising opportunities across advertiser ranks. In some embodiments, the facility performs step 401 without regard for the identity of advertisers who have or will occupy these ranks based upon their bidding.

FIG. 5 is a table diagram showing sample contents of a rank allocation table in which the facility stores the results of allocating opportunities across advertiser ranks. The rank allocation table 500 is made up of rows 501-506, each corresponding to a different advertiser rank. Each row is divided into the following columns: an advertiser rank column 511 containing the advertiser rank position to which the row corresponds; and an allocation column 512 containing a share of the total advertising impressions that is allocated to the advertiser rank to which the row corresponds. For example, row 501 indicates that a 30% share of the advertising opportunities are allocated to advertiser rank 1. While percentages totaling 100% are shown in table 500 to make it comprehensible, in a variety of embodiments, the facility uses a variety of schemes for specifying the share of advertising opportunities allocated to each advertiser rank.

While FIG. 5 and each of the table diagrams discussed below show a table whose contents and organization are designed to make them more comprehensible by a human reader, those skilled in the art will appreciate that actual data structures used by the facility to store this information may differ from the table shown, in that they, for example, may be organized in a different manner; may contain more or less information than shown; may be compressed and/or encrypted; may contain a much larger number of rows than shown, etc.

Returning to FIG. 4, it is the facility's objective in step 401 to determine a set of allocations across advertiser rank that reflects the state of the market for the class of impressions being handled, such as the impressions for a particular city or other geographic area, and to make it more likely that the advertising will serve the interests of the publisher, advertisers, and/or the publisher's users. In some embodiments, the allocation is performed manually. In some embodiments, the allocation is performed automatically.

In some embodiments, the allocation is based upon the extent to which the value of the advertising to advertisers is determined to be concentrated in a small number of advertisers versus diffused across a larger number of advertisers. In some embodiments, where the value is determined to be concentrated, the facility uses a flatter allocation with smaller differences between adjacent advertiser ranks. On the other hand, in some embodiments, where the value to advertisers is determined to be diffuse, the facility determines a sharper allocation in which the differences between adjacent advertiser ranks are larger. In various embodiments, the facility uses a variety of modeling tools to determine the allocation, including a linear optimization, a complex optimization, and/or simplified optimization procedures of other types. In some embodiments, the facility uses a learning system whose understanding of the market for the class of impressions evolves over time based upon various aspects of the facility and its use.

In some embodiments, the facility bases the allocation, at least in part, on the value or utility of the facility and its operation to advertisers. This includes the extent to which advertisers experience return on investment, such as return on investment based upon actual or estimated value of a contact from a person to which an advertising message has been presented. In some embodiments, the facility assesses return on investment by adjusting pricing aspects of the facility to see at what maximum price advertisers stop bidding. In some embodiments, the facility uses game theory techniques to reverse-engineer the value to bidders from auction participation histories of each advertiser.

In some embodiments, the facility performs the allocation at least in part in a manner to maximize the value of the facility in this operation to the people to whom advertising is presented. In some embodiments, the facility uses overall engagement metrics, such as each user's total amount of time spent on the publisher's website; total number of clicks; total average time spent on a page, etc. In some embodiments, the facility uses information about user's direct response to being presented with advertising messages allocated by the facility, including whether the user clicked on an ad, didn't click on an ad, responded to an ad by taking a negative action such as leaving the site, or immediately moving to a different page.

In some embodiments, the facility performs the allocation at least in part to maximize revenue received from advertisers.

After step 401, these steps conclude. In various embodiments, the facility repeats the steps of FIG. 4 periodically to generate new allocations for a class of impressions.

Those skilled in the art will appreciate that the steps shown in FIG. 4 and in each of the flow diagrams discussed below may be altered in a variety of ways. For example, the order of the steps may be rearranged; some steps may be performed in parallel; shown steps may be omitted, or other steps may be included; a shown step may be divided into substeps, or multiple shown steps may be combined into a single step, etc.

FIG. 6 is a flow diagram showing steps typically performed by the facility in some embodiments to conduct an advertising auction and serve advertising messages based on the auction results. In step 601, the facility collects bids from advertisers each including a bid price and a budget.

FIG. 7 is a table diagram showing sample contents of a bid table in which the facility collects bids from advertisers in some embodiments. The bid table 700 is made up of rows 701-709, each corresponding to a different advertiser and its bid. Each row is divided into the follow columns: an advertiser column 611 identifying the advertisers; a bid price column 612 containing the bid price specified by the advertiser; a budget column 713 containing the budget specified by the advertiser; and a quality measure column 714 containing a value that seeks to characterize how valuable a participate in the advertising system the advertiser has been in the past. For example, row 708 indicates that advertiser Mathews specified a bid price of $7.00 and a budget of $575.00, and has been assessed a quality measure of 0.95. In various embodiments, the facility uses various techniques to determine quality measures for advertisers. In various embodiments, the facility uses combinations of one or more of explicit ratings of the advertiser; discerned response times of the advertiser to contacts through the advertising system in response to advertising impressions; and aspects of the advertiser's performance that are self-reported by the advertiser, including, for example, the number of homes bought and sold over a recent period of time.

Returning to FIG. 6, in step 602, the facility determines a score for each bidder. In some embodiments, the facility determines each advertiser's score by multiplying its bid price by its quality measure.

FIG. 8 is a table diagram showing sample contents of an advertiser scoring table 800 showing advertiser scores attributed to advertisers by the facility. The table 800 is made up of rows 801-809, each corresponding to a different advertiser. Each row is divided into the following columns: an advertiser column 811 identifying an advertiser to which the row corresponds; a bid price column 812 containing the bid price specified by the advertiser; a quality measure column 813 containing a quality measure assessed for the advertiser; and a score column 814 containing a score determined by the facility for the advertiser. For example, it can be seen from row 802 that advertiser Mathews specified a bid price of $7.00, was assessed a quality measure of 0.95, and achieved a score of 6.65.

Returning to FIG. 6, in step 603, the facility attributes ranks to advertisers in decreasing order of their scores. With reference to FIG. 8, it can be seen that the top six scores are 8.4, 6.65, 4.15, 4.02, 3.95, and 1.89, corresponding to advertisers Wolf, Mathews, Anders, Gillette, Jones, and Smith, respectively.

Returning to FIG. 6, in step 604, the facility serves ads in accordance with the allocation for each advertiser's rank, charging the advertiser for each impression in accordance with a price determined for the advertiser.

FIG. 9 is a table diagram showing sample contents of an advertiser allocation table used by the facility in some embodiments to specify the allocation for each advertiser and track the presentation of the advertiser's advertising message. The advertiser allocation table 900 is made up of rows 901-906, each corresponding to an advertiser that has been attributed a particular advertiser rank. Each row is divided into the following columns: a rank column 911 indicating the advertiser rank that has been attributed to the advertiser; an allocation column 912 indicating the impression allocation that has been attributed to this rank; an advertiser column 913 identifying the advertiser to which the row corresponds; a price charged column 914 indicating a price charged to the advertiser for each impression; an impressions served column 915 indicating the number of impressions that have been served on the advertiser's behalf; a total charged column 916 indicating the amount of money charged for serving the served impressions; and a budget column 917 indicating the budget specified by the advertiser in their bid. For example, row 902 indicates that advertiser Mathew has advertiser rank 2, and therefore an allocation of 24% of the impressions. This advertiser is charged $4.36 for each impression, and has specified a budget of $575. After 131 impressions have been served, the total charged will be $571.16, and the advertiser's budget will be exhausted (132 impressions would be a total of $575.52, which exceeds the budget). At this point, this advertiser will no longer be included in the random selection performed to attribute each new impression.

In some embodiments, the facility determines the price charged per impression to an advertiser by multiplying the price bid by the next-lower bidder by the ratio of the next-lower bidder's quality measure to the advertiser's quality measure. For example, to determine the $4.36 price charged to advertiser Mathews, the facility multiplies the price bid by next-highest bidder Gilette, $5.15, by the ratio of Gilette's quality measure to Mathew's quality measure, 0.78 divided by 0.95.

After step 604, these steps conclude. After the steps of FIG. 6 conclude, these steps are typically repeated to initiate a new advertising period by collecting new bids from advertisers. In some embodiments, the facility employs a mechanism that allows advertisers to bid for a new advertising period before the previous advertising period ends, and/or a mechanism that allows an advertiser to designate that, unless affirmatively changed, its earlier bid will be repeated for future advertising periods.

It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein. 

We claim:
 1. A method in a computing system, including one or more processors, for presenting electronic advertising messages on behalf of a plurality of advertisers, the method comprising: determining, by at least one processor of the one or more processors, a plurality of allocations across advertiser ranks, based at least in part on at least one optimization modeling technique and at least one monitored metric of user activity on a publisher's web page, each allocation specifying a share of impressions for a particular class of advertising opportunities, the share specified by each allocation being different from the share specified by every other allocation among the plurality of allocations, wherein each of the plurality of allocations is determined without regard for identities of advertisers who have occupied or will occupy the advertiser ranks; after determining the plurality of allocations, receiving, by at least one processor of the one or more processors, a bid from each of one or more of the plurality of advertisers; determining, by at least one processor of the one or more processors, for each of the one or more of the plurality of advertisers, a quality measure for the advertiser; attributing, by at least one processor of the one or more processors, ranks to each of the one or more of the plurality of advertisers based on the bid received from the advertiser and the quality measure determined for the advertiser; and transmitting electronic advertising messages via a network for presentation on behalf of advertisers of the plurality of advertisers in accordance with the shares specified by their allocations.
 2. The method of claim 1, further comprising: determining, for each of the one or more of the plurality of advertisers, an allocation associated with the rank attributed to the advertiser.
 3. The method of claim 2, further comprising receiving input specifying the allocation associated with each rank.
 4. The method of claim 2, further comprising automatically generating the allocation associated with each rank.
 5. A computer-readable medium, that is not a signal per se, storing instructions that, upon execution by a computing system having one or more memories and one or more processors, cause the computing system to perform a method for presenting electronic advertising messages on behalf of a plurality of advertisers, the method comprising: determining, by at least one processor of the one or more processors, a plurality of allocations across advertiser ranks, based at least in part on at least one optimization modeling technique and at least one monitored metric of user activity on a publisher's web page, each allocation specifying a share of impressions for a particular class of advertising opportunities, the share specified by each allocation being different from the share specified by every other allocation among the plurality of allocations, wherein each of the plurality of allocations is determined without regard for identities of advertisers who have occupied or will occupy the advertiser ranks; after determining the plurality of allocations, receiving, by at least one processor of the one or more processors, a bid from each of one or more of the plurality of advertisers; determining, by at least one processor of the one or more processors, for each of the one or more of the plurality of advertisers, a quality measure for the advertiser; attributing, by at least one processor of the one or more processors, ranks to each of the one or more of the plurality of advertisers based on the bid received from the advertiser and the quality measure determined for the advertiser; and transmitting electronic advertising messages via a network for presentation on behalf of advertisers of the plurality of advertisers in accordance with the shares specified by their allocations.
 6. The computer-readable medium, that is not a signal per se, of claim 5, the method further comprising: determining, for each of the one or more of the plurality of advertisers, an allocation associated with the rank attributed to the advertiser.
 7. The computer-readable medium, that is not a signal per se, of claim 6, the method further comprising receiving input specifying the allocation associated with each rank.
 8. The computer-readable medium, that is not a signal per se, of claim 6, the method further comprising automatically generating the allocation associated with each rank.
 9. The computer-readable medium, that is not a signal per se, of claim 5, the method further comprising: performing a random weighted selection among the plurality of advertisers in which each advertiser is weighted in accordance with the share specified by its allocation to obtain a selected advertiser.
 10. The computer-readable medium, that is not a signal per se, of claim 6, the method further comprising: prior to attributing ranks, determining a number of ranks that receive nonzero allocations, wherein the determined number of ranks that receive nonzero allocations is less than the number of advertisers.
 11. A computing system, having one or more memories and one or more processors, for presenting electronic advertising messages on behalf of a plurality of advertisers, the computing system comprising: a component configured to determine a plurality of allocations across advertiser ranks, based at least in part on at least one optimization modeling technique and at least one monitored metric of user activity on a publisher's web page, each allocation specifying a share of impressions for a particular class of advertising opportunities, the share specified by each allocation being different from the share specified by every other allocation among the plurality of allocations, wherein each of the plurality of allocations is determined without regard for identities of advertisers who have occupied or will occupy the advertiser ranks; a component configured to, after determining the plurality of allocations, receive a bid from each of one or more of the plurality of advertisers; a component configured to determine, for each of the one or more of the plurality of advertisers, a quality measure for the advertiser; a component configured to attribute ranks to each of the one or more of the plurality of advertisers based on the bid received from the advertiser and the quality measure determined for the advertiser; and a component configured to transmit electronic advertising messages via a network for presentation on behalf of advertisers of the plurality of advertisers in accordance with the shares specified by their allocations, wherein each of the components comprises computer-executable commands stored in at least one memory of the one or more memories for execution by at least one processor of the one or more processors.
 12. The computing system of claim 11, further comprising: a component configured to determine, for each advertiser of the one or more of the plurality of advertisers, an allocation associated with the rank attributed to the advertiser.
 13. The computing system of claim 12, further comprising: a component configured to receive input specifying the allocation associated with each rank.
 14. The computing system of claim 12, further comprising: a component configured to automatically generate the allocation associated with each rank.
 15. The computing system of claim 12 wherein the component configured to attribute ranks uses quality measures determined for the plurality of advertisers.
 16. The computing system of claim 11, further comprising: a component configured to perform a random weighted selection among the plurality of advertisers in which each advertiser is weighted in accordance with the share specified by its allocation to obtain a selected advertiser.
 17. The computing system of claim 11, further comprising: a component configured to determine a number of ranks that receive nonzero allocations, wherein the determined number of ranks that receive nonzero allocations is less than the number of advertisers.
 18. The method of claim 1, further comprising: determining, for each of the one or more of the plurality of advertisers, a price charged for presenting an advertisement on behalf of the advertiser, wherein the price charged for at least one of the advertisers diverges from that advertiser's bid.
 19. The method of claim 1, further comprising: determining an amount charged, to at least one ranked advertiser, per impression by multiplying (a) a price bid by a next-lower bidder, relative to the at least one ranked advertiser, by (b) a ratio of the quality measure determined for the next-lower bidder to the quality measure determined for the at least one ranked advertiser, wherein the at least one ranked advertiser is different from the next-lower bidder.
 20. The method of claim 19, further comprising: determining the ratio of the quality measure determined for the next-lower bidder to the quality measure determined for the at least one ranked advertiser.
 21. The method of claim 1, further comprising: for a second class of advertising opportunities different from the particular class of advertising opportunities, determining, by at least one processor of the one or more processors, a second plurality of allocations across second advertiser ranks, based at least in part on at least one optimization modeling technique and at least one monitored metric of user activity on the publisher's web page, each allocation specifying a share of impressions for the second class of advertising opportunities, the share specified by each allocation being different from the share specified by every other allocation among the second plurality of allocations, wherein each of the second plurality of allocations is determined without regard for identities of advertisers who have occupied or will occupy the second advertiser ranks.
 22. The method of claim 1, further comprising: generating a rank allocation data structure comprising a plurality of entries, each entry comprising an advertiser rank and an allocation indicating a share of advertising impressions that is allocated to the advertiser rank to which the entry corresponds. 